package 十大排序算法;

public class 冒泡排序 {
    /**
     *
      *    public static int[] bubbleSort(int[] arr){
     *         if (arr==null&&arr.length<2){
     *             return arr;
     *         }
     *         int n = arr.length;
     *         for (int i = 0; i < n; i++) {
     *             boolean flag = true;
     *             //n-i-1的意思是当完成一遍后 最大的数已经排在后面了 所以不用再冒泡最后面排序好的数字
     *             for (int j = 0; j < n - i - 1; j++) {
     *                 if (arr[j]>arr[j+1]){
     *                     int temp = arr[j];
     *                     arr[j] = arr[j+1];
     *                     arr[j+1] = temp;
     *                     flag = false;
     *                 }
     *             }
     *             //一趟下来是否发生位置交换
     *             if (flag) break;
     *         }
     *           return arr;
     *     }
     *
     */
    public static void bubbleSort1(int [] a, int n){
        for (int i = 0; i < n; i++) {
            //因为每轮冒泡后都会有一个最大(最小)的排在后面
            for (int j = 1; j < n - i; j++) {
                if (a[j-1]>a[j]){
                    int tmp ;
                    tmp = a[j-1];
                    a[j-1] = a[j];
                    a[j] = tmp;
                }
            }
        }
    }

}
